//
//  IFlyBaseService.h
//  AIKITDemo
//
//  Created by xyzhang on 2023/3/1.
//

#import <Foundation/Foundation.h>

#import "IFlyDebugLog.h"

#import <AIKIT/ILibrary.h>
#import <AIKIT/AIKITParameters.h>
#import <AIKIT/AiHandle.h>
#import <AIKIT/AiHelper.h>
#import <AIKIT/AIKITInputData.h>
#import <AIKIT/AIKITAudioBuilder.h>
#import <AIKIT/AIKITCustomData.h>

#define log(fmt,...) [IFlyDebugLog consoleLog:fmt,##__VA_ARGS__]

NS_ASSUME_NONNULL_BEGIN

@interface IFlyBaseService : NSObject<AIKitCoreDelegate>

@property (assign, getter=isInitSDK) BOOL initSDK;

@property (assign, getter=isInitEngine) BOOL initEngine;

//@property (nonatomic, copy) NSString *abilityId;

/// 初始化SDK，各能力相同；
- (void)initSDK :(NSDictionary*) args ;

/// 初始化引擎一
/// - Parameter abilityId: 能力id
- (void)initEngine:(NSString *)abilityId;

// 初始化引擎二，带参


/// 初始化引擎二，带参
/// - Parameters:
///   - abilityId: 能力id
///   - engineParam: 引擎参数
- (void)initEngine:(NSString *)abilityId engineParams:(nullable AIKITParameters *)engineParams;

/// 逆初始化SDK，撤销资源
- (void)unInitSDK;

@end

NS_ASSUME_NONNULL_END
